1. Field of the Invention
The present invention relates to a communication apparatus and method.
2. Description of the Related Art
Owing to advances in electronic computer techniques, even office equipment and ordinary household appliances that conventionally have only a single function and cannot be interconnected organically are now capable of implementing functions whereby they are coupled through a network and execute processing in cooperation. Device control protocols such as UPnP (Universal Plug and Play), Jini and Jxta are known as network techniques for implementing the merging of such device controllers through a network.
Next, UPnP will be described as a typical example of a device control protocol. Specifically, UPnP is a device control protocol used on a network that supports the protocols set forth below. That is, IP (Internet Protocol), TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are available. Also available are HTTP (HyperText Transport Protocol) and XML (eXtensible Markup Language), etc.
With UPnP, the SSDP (Simple Service Discover Protocol) is used to discover a device controller connected over a network. Further, SSDP is used also to ascertain profile information that expresses previously defined specifications and settings of a device controller that is the object of control.
By way of example, “Device capable of reproducing a digital video stream?” is broadcast. In this case, a device that meets this requirement transmits an IP address and host name autonomously to the source of the inquiry. At this time there is an exchange of the previously defined specifications and settings of the device controller that is to be controlled, specifically profile information such as the kind of functions possessed.
Further, SOAP (Simple Object Access Protocol) is used in controlling a device. SOAP is an RPC-based Internet communication industry standard that has been agreed upon in order to smoothen an exchange of XML and Web services. A control message is transmitted to a device using SOAP, and a result or an error is acquired. A UPnP control request is a SOAP message that includes an action for designating and calling a parameter. The response also is a SOAP message that includes status. It sends back a value and a parameter.
A device control protocol typified by UPnP used to interconnect devices through a network has its specifications decided in order to assure interconnectivity between nodes. These specifications have been put forward by various organizations and issued as recommendations. For example, many Web-related and Web-service-related specifications such as HTTP and SOAP have been put forward by the World-Wide Web Consortium (w3c. Http://www.w3c.ofg). Many Internet-related specifications have been put forward by the Internet Engineering Task Force (IETF, http://www.ietf.org) and have been issued as recommendations.
Various organizations have instituted specifications stringently and vendors who develop device controllers package device control protocols that are fully in line with these specifications. As a result, communications using these device control protocols have all succeeded and interoperability has been acquired. In reality, however, specifications have ambiguity and many are not precise. Consequently, even though it may have been the intent of the vendor of a device controller to package a device control protocol fully in line with specifications, discrepancies in interpretation occur owing to ambiguities in the specifications and there are instances where interoperability is not acquired, thereby resulting in communication failure.
In addition, there are many instances in which packaging is not in line with specifications. Furthermore, if a device controller using a protocol that is not in line with specifications becomes a de facto standard, the following failure can occur: Specifically, even if a device controller using a protocol in line with specifications is developed by a vendor, it will fail to communicate with a device controller that uses a device control protocol that has become the de facto standard. An example in which communication fails is follows: In a certain package, no distinction may be made between upper- and lower-case characters but such a distinction is made in another package. The result can be communication failure. Further, with an XML-related device control protocol such as SOAP, communication may fail depending upon whether or not a name space exists.
Vendors of device controllers make various attempts to enhance interoperability. For example, device control protocols that flow over a network are monitored for discrepancies using a protocol monitor. In another example, a number of vendors bring their products together at one location and conduct communications tests on them. If a discrepancy in the device control protocol is discovered, interoperability is improved by correcting the protocol. One example of a proposal relating to a protocol monitor for discovering discrepancies in a device control protocol involves detecting the location of an error in the device control protocol and enabling the location to be pointed out (e.g., see the specification of Japanese Patent Application Laid-Open No. 8-88672).
However, the measures described in the above-cited specification are implemented before a product is shipped; coping with the problem after shipment is not easy. And even if the above-mentioned expedient of communications testing for the purpose of enhancing interoperability is adopted, gathering together and testing all device controllers presently on the market is not feasible and satisfactory verification will not be achieved. This means that the user of a product is compelled to investigate, prior to purchase, which devices the product of interest has been tested for with regard to communication, search the Internet for product reports and then select the product deemed to offer the highest degree of interoperability. Further, in order to assure interoperability, there are cases where the vendor side must take such measures as having the user upgrade firmware or recalling a product and rewriting the program within the product.